package services
{
	import mx.collections.ArrayCollection;
	
	import transferObjects.Administrador.AdministradorTO;
	import transferObjects.Docente.DocenteTO;
	import transferObjects.Socio.DireccionTO;
	import transferObjects.Socio.SocioTO;
	import transferObjects.UsuarioTO;
	import transferObjects.UsuarioUnificadoTO;
	
	public class ServiceCuentaUsuario extends GenericService
	{
		public function ServiceCuentaUsuario()
		{
			super();
            this.destination="ServiceCuentaUsuario";
            this.source="facade.FacadeCuentaUsuario"; 
		}
		
		public function obtenerUsuarioLogeado(rutUsuario:int, tipoUsuario:String):UsuarioUnificadoTO
		{
			this.getOperation("obtenerUsuarioLogeado").send(rutUsuario, tipoUsuario);
			return null;
		}
		public function crearUsuarioAdmin(admin:AdministradorTO, usuario:UsuarioTO):void
		{
			this.getOperation("crearUsuarioAdmin").send(admin,usuario);
		}
		public function crearUsuarioSocio(socio:SocioTO, usuario:UsuarioTO, direccion:DireccionTO):void
		{
			this.getOperation("crearUsuarioSocio").send(socio,usuario,direccion);
		}
		public function crearUsuarioDocente(docente:DocenteTO, usuario:UsuarioTO):void
		{
			this.getOperation("crearUsuarioDocente").send(docente,usuario);
		}
		public function obtenerTodosUsuarioUnidicadoTO():ArrayCollection
        {
        	this.getOperation("obtenerTodosUsuarioUnidicadoTO").send();
            return null;
        }
        public function modificarUsuarioAdmin(admin:AdministradorTO, usuario:UsuarioTO):void
		{
			this.getOperation("modificarUsuarioAdmin").send(admin,usuario);
		}
		public function modificarUsuarioDocente(docente:DocenteTO, usuario:UsuarioTO):void
		{
			this.getOperation("modificarUsuarioDocente").send(docente,usuario);
		}
		public function modificarUsuarioSocio(socio:SocioTO, usuario:UsuarioTO, direccion:DireccionTO):void
		{
			this.getOperation("modificarUsuarioSocio").send(socio,usuario,direccion);
		}
		public function obtenerTodosUsuarioSocio():ArrayCollection
		{
			this.getOperation("obtenerTodosUsuarioSocio").send();
			return null;
		}
		public function obtenerUsuariosSocioConAsignacion():ArrayCollection
		{
			this.getOperation("obtenerUsuariosSocioConAsignacion").send();
			return null;
		}
	}
}